//package com.yanfan.ba.controller;
//
//
//import com.alibaba.fastjson2.JSON;
//import com.alibaba.fastjson2.JSONObject;
//import com.yanfan.ba.domain.IbmsBaData;
//import com.yanfan.ba.service.IIbmsBaDataService;
//import com.yanfan.ba.util.BacnetDataRetriever;
//import com.yanfan.ba.util.isFloat;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Component;
//import org.springframework.web.bind.annotation.RestController;
//
//import java.util.Date;
//import java.util.List;
//
//@RestController
//@Component("ba")
//public class ApiBAController {
//    @Autowired
//    IIbmsBaDataService iIbmsBaDataService;
//
//    public void getBaData() {
//        try {
//            // 发送POST请求
//            JSONObject data = BacnetDataRetriever.retrieveData();
//
//            processData(data.get("analogInputData"), "analogInputData");
//            processData(data.get("binaryInputData"), "binaryInputData");
//
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//    }
//
//    private void processData(Object dataObject, String dataType) {
//        List<IbmsBaData> list = JSON.parseArray(dataObject.toString(), IbmsBaData.class);
//        for (IbmsBaData ibmsBaData : list) {
//            ibmsBaData.setUpdatedAt(new Date());
//            String name = ibmsBaData.getName();
//            ibmsBaData.getPresentValue();
//            int lastIndex = name.lastIndexOf('.');
//            int startIndex = name.indexOf("FCU");
//            if (lastIndex!= -1 && ibmsBaData.getPresentValue()!= "Infinity") {
//                // 截取最后一个点之后的部分
//                String result = name.substring(lastIndex + 1);
//                String s = result.split("_")[0];
//                setDeviceNameAndUnits(ibmsBaData, s);
//            }
//            if ("analogInputData".equals(dataType)) {
//                iIbmsBaDataService.saveOrUpdateBatch(list);
//            }
//        }
//    }
//
//    private void setDeviceNameAndUnits(IbmsBaData ibmsBaData, String identifier) {
//        switch (identifier) {
//            case "FAU":
//                ibmsBaData.setUnits("0");
//                ibmsBaData.setName("新风机");
//                break;
//            case "RFAU":
//                ibmsBaData.setUnits("0");
//                ibmsBaData.setName("送风机");
//                break;
//            case "EF":
//                ibmsBaData.setUnits("0");
//                ibmsBaData.setName("排风机");
//                break;
//            case "ATLE":
//                ibmsBaData.setUnits("0");
//                ibmsBaData.setName("公共照明");
//                break;
//            case "CTP":
//                ibmsBaData.setUnits("0");
//                ibmsBaData.setName("冷却水循环水泵");
//                break;
//            case "PHE":
//                ibmsBaData.setUnits("0");
//                ibmsBaData.setName("冷却水板");
//                break;
//            case "ECH":
//                ibmsBaData.setUnits("0");
//                ibmsBaData.setName("自动添加装置");
//                break;
//            case "SF":
//                ibmsBaData.setUnits("0");
//                ibmsBaData.setName("水泵房送风");
//                break;
//            case "CW":
//                ibmsBaData.setUnits("0");
//                ibmsBaData.setName("冷却水中间水箱");
//                break;
//            case "RF":
//                ibmsBaData.setUnits("0");
//                ibmsBaData.setName("冷却塔补水变频泵");
//                break;
//            case "BGZJSHSX":
//                ibmsBaData.setUnits("0");
//                ibmsBaData.setName("水箱");
//                break;
//            case "WDSX":
//                ibmsBaData.setUnits("0");
//                ibmsBaData.setName("水箱供水泵");
//                break;
//            case "SHSXXD":
//                ibmsBaData.setUnits("0");
//                ibmsBaData.setName("水箱消毒处理设备");
//                break;
//            case "HU":
//                ibmsBaData.setUnits("0");
//                ibmsBaData.setName("加湿");
//                break;
//            case "CT":
//                ibmsBaData.setUnits("0");
//                ibmsBaData.setName("闭式冷却塔");
//                break;
//            case "SHP":
//                ibmsBaData.setUnits("0");
//                ibmsBaData.setName("补压变频泵");
//                break;
//            case "AHU":
//                ibmsBaData.setUnits("0");
//                ibmsBaData.setName("加湿器");
//                break;
//            case "JS":
//                ibmsBaData.setName("集水井");
//                ibmsBaData.setUnits("0");
//                break;
//            case "CP":
//                ibmsBaData.setName("空调循环水泵");
//                ibmsBaData.setUnits("0");
//                break;
//            case "SW":
//                ibmsBaData.setName("供水主管压力");
//                ibmsBaData.setUnits("0");
//                break;
//            case "RW":
//                ibmsBaData.setName("回水主管压力");
//                ibmsBaData.setUnits("0");
//                break;
//            case "CHV":
//                ibmsBaData.setName("供回水主管冷/热水阀");
//                ibmsBaData.setUnits("0");
//                break;
//        }
//    }
//
//}
